package com.gitee.wsl.transform.encode

import com.gitee.wsl.transform.encode.sample.Morse
import kotlin.test.Test
import kotlin.test.assertEquals

class MorseTest {
    private val morseCoder: Morse = Morse()

    @Test
    fun test0() {
        val text = "Hello World!"
        val morse = "...././.-../.-../---/-...../.--/---/.-./.-../-../-.-.--/"
        assertEquals(morse, morseCoder.encode(text))
        assertEquals(morseCoder.decode(morse), text.uppercase())
    }

    @Test
    fun test1() {
        val text = "你好，世界！"
        val morse = "-..----.--...../-.--..-.-----.-/--------....--../-..---....-.--./---.-.-.-..--../--------.......-/"
        assertEquals(morseCoder.encode(text), morse)
        assertEquals(morseCoder.decode(morse), text)
    }

    @Test
    fun test2() {
        val text = "こんにちは"
        val morse = "--.....-.-..--/--....-..-..--/--.....--.-.--/--.....--....-/--.....--.----/"
        assertEquals(morseCoder.encode(text), morse)
        assertEquals(morseCoder.decode(morse), text)
    }
}